package com.lantosec.hmrp.modules.form.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lantosec.hmrp.core.kit.DownNodeVO;
import com.lantosec.hmrp.core.kit.PageVO;
import com.lantosec.hmrp.modules.form.entity.FormColumns;
import com.lantosec.hmrp.modules.form.vo.FormColumnsVO;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 自定义表单列定义 Mapper 接口
 * </p>
 *
 * @author AutoCode
 * @since 2020-04-15
 */
public interface FormColumnsMapper extends BaseMapper<FormColumns> {

    int executeInsertSql(String sql);

    int executeUpdateSql(String sql);

    int executeDeleteSql(String sql);

    List<Map<String,Object>> executeSelectSql(String sql);

    /**
     * 分页查询
     */
    List<Map<String,Object>> executePageSql(PageVO<Map<String,Object>> page, String sql);

    /**
     * 执行动态SQL
     * @return
     */
    List<String> executeSql(String sql);

    /**
     * 执行动态SQL-返回key-value的List对象
     * @return
     */
    List<DownNodeVO> executeListSql(String sql);

    /**
     * 根据表的信息查询列
     *
     * @param tableSchema 数据库名称
     * @param tableName   表名
     * @return
     */
    List<FormColumnsVO> queryByTableInfo(String tableSchema, String tableName);

}
